import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

from google.appengine.dist import use_library
use_library('django', '1.2')

from google.appengine.ext.webapp import template

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
import random

# This writes hello with a name and puts a link
#class MainHandler(webapp.RequestHandler):
#  def get(self):
#    name = self.request.get('name')
#    self.response.out.write('Hello ' + name)
#    self.response.out.write("<a href= '/static/index.html '>My index.html</a>")

class MainHandler(webapp.RequestHandler):
  def get(self):
    template_values = {}
    path = os.path.join(os.path.dirname(__file__), 'hello.html')
    self.response.out.write(template.render(path, template_values))

class DiceHandler(webapp.RequestHandler):
  def get(self):
    times = self.request.get('times')
    if times.isdigit():
      for i in range(int(times)):
        dice_1 = random.randint(1, 6)
        dice_2 = random.randint(1, 6)
        self.response.out.write( "Rolls: " + str(dice_1) + ' - ' + str(dice_2) + '<br>')
        if dice_1 == 1 and dice_2 == 1:
            self.response.out.write( "----you rolled snake eyes!<br>" )
        if dice_1 == dice_2:
            self.response.out.write( "----same number!<br>")
        if dice_1 % 2 == 0 and dice_2 % 2 == 0:
            self.response.out.write( "----even numbers!<br>")
        if dice_1 % 2 == 1 and dice_2 % 2 == 1:
            self.response.out.write( "----odd numbers!<br>")
        if dice_1 == 6 and dice_2 == 6:
            self.response.out.write( "----you rolled double sixes!<br>")
    else:
      self.response.out.write("not a digit you jerk")

class GoodbyeHandler(webapp.RequestHandler):
  def get(self):
    self.response.out.write('Goodbye app engine world!')

class QuizHandler(webapp.RequestHandler):
  def get(self):
    template_values = { 'name' : self.request.get('name') }
    path = os.path.join(os.path.dirname(__file__), 'quiz.html')
    self.response.out.write(template.render(path, template_values))

class WrongAnswer(object):
 def __init__(self, question, guess, correct):
  self.question = question
  self.guess = guess
  self.correct = correct

class GradeQuizHandler(webapp.RequestHandler):
  def get(self):
    addition_guess = self.request.get('addition')
    capital_guess = self.request.get('capital').strip().lower()
    template_values = {'wrong_answers': [], 'name' : self.request.get('name')}

    if int(addition_guess) != 7:
       template_values['wrong_answers'].append(WrongAnswer("3 + 4",    addition_guess, 7))
    if capital_guess != 'sacramento':
       template_values['wrong_answers'].append(WrongAnswer("he capital of California", capital_guess, 'Sacramento'))

    path = os.path.join(os.path.dirname(__file__), 'grade_quiz.html')
    self.response.out.write(template.render(path, template_values))

def main():
  application = webapp.WSGIApplication([('/hello.*', MainHandler), 
                                        ('/goodbye.*', GoodbyeHandler), 
                                        ('/dice.*', DiceHandler),
                                        ('/quiz', QuizHandler),
                                        ('/grade_quiz', GradeQuizHandler)],
                                       debug=True)
  run_wsgi_app(application)

if __name__ == '__main__':
  main()






